<?php
class DienthoaiController extends Controller
{
    public function view($id = null)
    {
        self::filterDienThoaiId($id);

        $data = $this->Dienthoai->getDienthoai($id);

        if (!$data) {
            throw new Exception("Điện thoại có mã số [{$id}] không tồn tại!");
        } else {
            $data['h_url'] = $this->_model->getDienthoaiFirstImage($data['dt_id']);
            Dienthoai::format($data);
            $this->assign('row', $data);

            # Lấy danh sách hình của điện thoại hiện tại
            $this->assign('phone_images_url', $this->_model->getPhoneImages($id));
        }

        if (isset($_POST['submit_comment'])) {
            $this->comment($id);
        }


        # Process comments
        $data = $this->_model->getComments($id);
        $this->assign('comments_list', $this->_model->getComments($id));
        $this->assign('show_comment', count($data) > 0 ? 'shown' : 'hidden');


    }

    public function comment($id = null)
    {
        if ($_POST['dt_id']) {
            $id = $_POST['dt_id'];
        }
        $this->_model->addComment($id, $_POST['nhanxet'], $_POST['hoten'], $_POST['email']);

        $this->assign('time', date('H:i:s d/m/Y'));

        //$this->assign('timezone')
        $this->assign('code', 0);
    }

    # Quản lý điện thoại, nhận vào số trang
    public function manage($params)
    {
        if (!UserController::isLogged()) {
            App::redirect('dang-nhap/don-dat-hang');
            exit();
        } elseif (!UserController::isLoggedAdmin()) {
            App::setException('Truy cập bị từ chối, bạn không có quyền truy cập chức năng');
        }
        $page = 1;
        if (preg_match('#/?trang-(\d+)#', $params, $match)) {
            $page = $match[1];
            $params = str_replace($match[0], null, $params);
        }

        $key = '';
        if (strlen($params) > 0) {
            $key = $params;
        } elseif (isset($_GET['keyword'])) {
            $key = $_GET['keyword'];
        }

        $data = Dienthoai::getList($key);
        if (count($data) > 0) {
            $paging = new Paging($data, $page,
                Loader::getConfig('paging', 'records_per_page'),
                Loader::getConfig('paging', 'pages_display'));
            $this->assign('stt_offset', $paging->getLowOffsetRecord());
            $this->assign('dienthoai_list', $paging->getData());

            $baseHref = 'dien-thoai/quan-ly';
            if (strlen($key) > 0) {
                $baseHref .= '/' . $key;
            }
            $baseHref .= '/trang-';
            $this->assign('pages_list', $paging->pagesList($baseHref));
        }
    }

    public function delete()
    {
        if (!App::isAjaxRequest()) {
            App::setException('Không thể truy cập trực tiếp chức năng', '/');
        }
        if (!UserController::isLoggedAdmin()) {
            $this->assign('code', -1);
        } else {
            $phoneIds = $_POST['items'];
            is_array($phoneIds) || $phoneIds = array($phoneIds);
            $counter = 0;
            foreach ($phoneIds as $id) {
                $counter += Dienthoai::delete($id);
            }
            $this->assign('code', 0);
            $this->assign('count', $counter . '/' . count($phoneIds));
        }
    }

    /* static methods */
    public static function filterDienThoaiId(&$id)
    {
        if (preg_match('#^(.{6})(-.*)?#', $id, $match)) {
            $id = $match[1];
            return $id;
        } else {
            return null;
        }
    }




    public function dienthoaimoi()
    {
        $newPhones = Dienthoai::getNewItems();
        $this->assign('list_dienthoai_2', $newPhones);

        $this->assign('show_slide', true, true);
    }


    public function them()
    {

    }
    public function sua()
    {

    }
    public function xoa()
    {

    }

    public function lienhe(){

    }
    public function giatuongduong($id)
    {
        DienthoaiController::filterDienThoaiId($id);

        $dt = Dienthoai::getPhoneInfo($id);

        $data = $this->_model->sanphamcunggia($dt['dt_gia'], $id);

        Dienthoai::format($data, true);

        $this->assign('dienthoai', $dt);
        $this->assign('list_ketqua', $data);
    }

    public function dienthoaicunghang($id)
    {
        DienthoaiController::filterDienThoaiId($id);
        $dt = Dienthoai::getPhoneInfo($id);
        $data = $this->_model->cunghang($dt['hsx_id']);
        Dienthoai::format($data, true);

        $this->assign('ten_dien_thoai', $dt['dt_ten']);
        $this->assign('list_ketqua', $data);

    }



    public function dienthoai_comment($id)
    {
        $id = DienthoaiController::filterDienThoaiId($id, $_POST);
        $data = $this->_model->getComment($id);
        $this->assign('id', $id);
        $this->assign('noidung', $data);
    }
}
;